Como o WebChat trata desconexões, recuperação de sessão e abandono de atendimento

14 Visualizações
3, novembro de 2026
Leonardo Lima

Visão Geral

O canal de WebChat possui parâmetros responsáveis pelo controle de sessão, desconexão, recuperação e abandono dos atendimentos. Essas parametrizações permitem que o sistema tente retomar uma conversa em andamento do cliente, caso o mesmo feche o navegador ou perca temporariamente acesso a internet pelo dispositivo utilizado.

Quando um cliente perde a conexão ou fecha o navegador, o WebChat pode permitir a retomada do atendimento por um período determinado.

O comportamento da sessão depende principalmente de:

  • TempoParaDesconectarBrowser: período de tolerância para reconexão do cliente.
  • SessionState: tempo de vida da sessão no IIS.
  • Tempo para Abandono de Atendimento: identifica atendimentos abandonados.
  • Tempo de Inatividade: controla a classificação visual do atendimento como ativo ou inativo.

Importante: enquanto não houver comunicação entre WebChat e servidor (pulso), algumas verificações podem ser executadas apenas quando a comunicação for restabelecida.

O que é o pulso?

Pulso é a comunicação periódica realizada pelo WebChat para informar ao servidor que a sessão continua ativa.

Algumas validações, como timeout do ChatBot e abandono de atendimento, dependem dessa comunicação para serem processadas.

Parâmetros do WebChat

Parâmetros alterados no “Web.config” do WebChat.

IMPORTANTE: As alterações do “Web.config” não podem ser realizadas durante período operacional de produção, visto que derruba as sessões de WebChat em andamento após o salvamento do arquivo.

TempoParaDesconectarBrowser

Define o tempo máximo de tolerância para a sustentação da conversa (sessão) em andamento do cliente, permitindo que ele retome a conversa caso acesse novamente o WebChat dentro do período configurado.

Para retomar o cliente pode clicar no link de transbordo ou reabrir a aba do navegador. Porém, caso o cliente feche o navegador e, no dispositivo móvel, feche o aplicativo do navegador dos apps de segundo plano a conversa em curso, não pode mais ser recuperada pelo sistema.

  • Unidade: Segundos.
  • Valor mínimo: 90 segundos (definido no código).
  • Comportamento: Mantém o atendimento disponível para recuperação durante o período configurado.
  • Exemplo: Se configurado para 300 segundos:
    • Cliente fecha o navegador às 10:00.
    • Retorna às 10:04.
    • O atendimento é recuperado.

    Se retornar após 10:05, a sessão poderá não estar mais disponível.

Limitação: Enquanto o WebChat estiver sem comunicação (pulso), alguns controles poderão deixar de ser verificados, como:

  • Timeout do ChatBot.
  • Tempo de abandono do atendimento.
  • Outras verificações dependentes do pulso.

A limpeza dos cookies durante o atendimento também deve ser considerada nos testes de recuperação da conversa.

SessionState

A configuração do “SessionState” redefine o controle do tempo de duração da sessão do WebChat no IIS.

  • Padrão do IIS: 20 minutos.
  • Valor recomendado: 72 horas.
  • Regra: Deve ser igual ou superior ao TempoParaDesconectarBrowser.

Importante: A sessão poderá ser encerrada independentemente dos parâmetros configurados em situações como:

  • Reinicialização do Application Pool do WebChat.
  • Alterações no arquivo Web.config do WebChat.

Diferença entre “SessionState” e “TempoParaDesconectarBrowser”

Para entender melhor a diferença entre os parâmetros citados, segue o objetivo primário de cada um deles:

Parâmetro Função
TempoParaDesconectarBrowser Controla quanto tempo o cliente pode ficar desconectado e ainda recuperar o atendimento
SessionState Controla quanto tempo a sessão permanece válida no IIS
Relação entre eles O SessionState deve ser igual ou maior que o TempoParaDesconectarBrowser

Mesmo que o “TempoParaDesconectarBrowser” esteja configurado corretamente, a recuperação não ocorrerá se a sessão já tiver expirado pelo “SessionState”.

Parâmetros do Serviço

Tempo para Abandono de Atendimento (em minutos)

Define, em minutos, o tempo de espera para caracterizar o abandono de um atendimento humano.

  • A contagem considera o horário da última mensagem enviada pelo operador.
  • Caso o cliente envie uma nova mensagem, o tempo anterior deixa de ser considerado.
  • A verificação do abandono depende da execução do pulso do WebChat.

Para mais informações de como configurá-lo, acesse Cadastrando um serviço de Mensageria no CRM Admin.

Configurações Gerais

Tempo de Inatividade

Parâmetro utilizado para controlar o estado de atividade do atendimento na tela Conversar do OmniPA, permitindo a classificação entre:

  • ATIVA: Atendimento considerado ativo.
  • INATIVA: Atendimento considerado inativo.

Para mais informações de como configurá-lo, acesse Configurando o Tempo para abandono de atendimento (min) nas Configurações Gerais.

Exemplos de Funcionamento

Cenário 1 — Timeout do ChatBot

Considere um ChatBot configurado com timeout de 1 hora.

Horário Evento
10:10:50 Último pulso recebido
10:10:50 até 11:25:23 WebChat permanece sem pulso
11:10:50 Tempo previsto para timeout de 1 hora
11:25:23 Novo pulso recebido; timeout do ChatBot identificado

Resultado: O timeout não foi identificado no horário previsto, sendo processado somente após o restabelecimento do pulso.

Cenário 2 — Abandono no Atendimento Humano

Considere o parâmetro Tempo para Abandono de Atendimento configurado para 20 minutos.

Horário Evento
10:30:25 Último pulso recebido
10:30:25 até 10:55:45 WebChat permanece sem pulso
10:50:25 Tempo previsto para abandono de 20 minutos
10:55:45 Novo pulso recebido; abandono identificado

Resultado: O abandono foi identificado somente após o retorno do pulso, mesmo com o tempo configurado já ultrapassado.

Observação: os exemplos consideram que os respectivos períodos de timeout e abandono começaram no horário indicado como último pulso.

Recomendações

  • Configurar o SessionState com 72 horas, respeitando o valor mínimo do TempoParaDesconectarBrowser.
  • Definir o TempoParaDesconectarBrowser conforme o período desejado para recuperação dos atendimentos.
  • Considerar que a ausência de pulso poderá atrasar a identificação de timeout e abandono.
  • Validar a recuperação do atendimento após fechamento do navegador, perda de conexão e limpeza dos cookies.
  • Considerar que reinicializações do Application Pool e alterações no Web.config poderão interromper as sessões ativas.

Resumo: O TempoParaDesconectarBrowser controla a tolerância à desconexão, o SessionState controla a sessão no IIS, e os parâmetros do serviço e das Configurações Gerais tratam do abandono e da inatividade dos atendimentos.

 



Este conteúdo foi útil para você?
Array
50% LikesVS
50% Dislikes